package com.example.chapter03;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.example.chapter03.utils.DateUtil;

public class ButtonClickActivity extends AppCompatActivity {

    private TextView tv_result;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button_click);
        tv_result = findViewById(R.id.tv_result);
        Button btn_click_single = findViewById(R.id.btn_click_single);

        // 为按钮添加点击事件监听器，标准写法
        btn_click_single.setOnClickListener(new MyViewOnClickListener(tv_result));
        /*
         * OnClickListener 是 View 的内部接口，它只有一个方法 onClick()，用于监听按钮的点击事件。
         * 所以我们可以创建一个 MyViewOnClickListener 的实例对象，来实现 OnClickListener 接口，
         * 然后将这个实例对象传递给 setOnClickListener() 方法，这样就可以实现按钮的点击事件监听。
         * */
    }

    static class MyViewOnClickListener implements View.OnClickListener {
        private final TextView tv_result;

        public MyViewOnClickListener(TextView tv_result) {
            this.tv_result = tv_result;
        }

        @Override
        public void onClick(View v) {
            String desc = String.format("%s 点击了按钮，%s", DateUtil.getNowDateTime(), ((Button) v).getText());
            tv_result.setText(desc);
        }
    }

}